Ensure that print operation is alive until we're done
authorРуслан Ижбулатов <lrn1986@gmail.com>
Fri, 25 Jul 2014 23:33:06 +0000 (23:33 +0000)
committerРуслан Ижбулатов <lrn1986@gmail.com>
Fri, 1 Aug 2014 04:44:46 +0000 (04:44 +0000)
https://bugzilla.gnome.org/show_bug.cgi?id=733767

gtk/gtkprintoperation.c

index 885c61177064f1d226afaca323ad65d0c959977f..d13f6bc89afef8dbfb2b287d067f0967df019a74 100644 (file)
@@ -3239,6 +3239,9 @@ gtk_print_operation_run (GtkPrintOperation        *op,
                                                                 &do_print);
     }
 
+  /* To ensure that priv is still valid after print_pages () */
+  g_object_ref (op);
+
   if (run_print_pages)
     print_pages (op, parent, do_print, result);
 
@@ -3250,6 +3253,7 @@ gtk_print_operation_run (GtkPrintOperation        *op,
   else if (priv->cancelled)
     result = GTK_PRINT_OPERATION_RESULT_CANCEL;
  
+  g_object_unref (op);
   return result;
 }